package y2017.m10.d26;

import java.sql.*;

/**
 * Connection connection = DriverManager.getConnection("jdbc:sqlite:C:/work/mydatabase.db");
 * A UNIX (Linux, Mac OS X, etc) file /home/leo/work/mydatabase.db
 * Connection connection = DriverManager.getConnection("jdbc:sqlite:/home/leo/work/mydatabase.db");
 */
public class Sqlite {
    public static void main(String[] args) throws ClassNotFoundException {
        // load the sqlite-JDBC driver using the current class loader
        Class.forName("org.sqlite.JDBC");

        Connection connection = null;
        try {
            // create a database connection
            connection = DriverManager.getConnection("jdbc:sqlite:db/test.db");
            Statement statement = connection.createStatement();
            statement.setQueryTimeout(30);  // set timeout to 30 sec.

            statement.executeUpdate("drop table if exists person");
            statement.executeUpdate("create table person (id integer primary key autoincrement, name string)");
            statement.executeUpdate("insert into person values(NULL, 'leo')");
            statement.executeUpdate("insert into person values(NULL, 'yui')");
            ResultSet rs = statement.executeQuery("select * from person");
            while (rs.next()) {
                // read the result set
                System.out.println("name = " + rs.getString("name"));
                System.out.println("id = " + rs.getInt("id"));
            }
        } catch (SQLException e) {
            // if the error message is "out of memory",
            // it probably means no database file is found
            System.err.println(e.getMessage());
        } finally {
            try {
                if (connection != null)
                    connection.close();
            } catch (SQLException e) {
                // connection close failed.
                System.err.println(e);
            }
        }
    }
}